package ClasesBasicas;

public class Torre extends Figura{

	public Torre(int fila, int columna, boolean esNegra, Figura[][] array,
			boolean[][] aMovimiento, int codPieza) {
		super(Tipo.Torre, fila, columna, esNegra, array, aMovimiento, codPieza);

	}

	/**
	 * El metodo posiblesMovimientos pone en un array de booleans(aMovimiento)
	 * las posiciones a las que se puede mover la pieza que implementa dicho
	 * metodo
	 * 
	 * Primer for pone a true la fila de la torre El segundo for pone a true la
	 * columna de la torre
	 * 
	 */
	public void posiblesMovimientos() {
		for (int i = 0; i < this.getaMovimiento().length; i++) {
			if (i != columna)
				aMovimiento[fila][i] = true;
		}
		for (int j = 0; j < this.getaMovimiento().length; j++) {
			if (j != fila)
				aMovimiento[j][columna] = true;
		}
	}

	/**
	 * Recorro el array de booleans y si encuentro un true evaluo si hay una
	 * figura en caso de haber una miro si es negra o blanca si es del mismo
	 * color se pone a true hasta una casilla anterior a la que encontre si es
	 * de distinto color se pone a true hasta la casilla de la que encontre
	 * despues se ponen las siguientes a false; La forma en que recorre el array
	 * de booleans es desde la posicion de la pieza voy incrementando hacia la
	 * derecha hasta encontrar otra pieza, y lo mismo en las otras 3 direcciones
	 * posibles
	 */
	public void dondeSePuedeMover() {
		posiblesMovimientos();
		recorridoDerecha();
		recorridoIzquierda();
		recorridoArriba();
		recorridoAbajo();
		

	}

	public static void main(String[] args) {
		/**
		 * Aqui pruebo que se pone a true la fila y columna que meto Empieza
		 * desde 0 las filas y columnas
		 * 
		 * 
		 * Tablero tb = new Tablero(false);
		 * 
		 * Torre t = new Torre(4, 5, true, tb.getArray(), tb.getaMovimiento());
		 * Torre t2 = new Torre(4, 2, false, tb.getArray(),
		 * tb.getaMovimiento()); t.dondeSePuedeMover();
		 * 
		 * for (int i = 0; i < tb.getaMovimiento().length; i++) { for (int j =
		 * 0; j < tb.getaMovimiento()[i].length; j++) {
		 * System.out.print(tb.getaMovimiento()[i][j]); System.out.print("   ");
		 * } System.out.println(""); }
		 */
	}

}
